package com.shop.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.shop.entity.Attribute;
import com.shop.mapper.AttributeMapper;
import com.shop.service.AttributeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
@Service
public class IAttributeService implements AttributeService {
    @Autowired
    AttributeMapper attributeMapper;

    @Override
    public List<Attribute> getList(Integer id, String sel) {
        List<Attribute> list = attributeMapper.getList(id,sel);
        return list;
    }

    @Override
    public int add(Attribute attribute) {
        attribute.setAttrVals(attribute.getAttr_vals()==null?"":attribute.getAttr_vals());
        int insert =attributeMapper.insert(attribute);
        return insert;
    }

    @Override
    public Attribute selectByAtt(Attribute attribute) {
        return attributeMapper.selectByAtt(attribute);
    }

    @Override
    public int delete(Integer id, Integer attrid) {
        return attributeMapper.deleteById(attrid);
    }

    @Override
    public Attribute findByIds(Integer id, Integer attrid) {
        QueryWrapper<Attribute> wrapper=new QueryWrapper();
        wrapper.eq("cat_id",id);
        wrapper.eq("attr_id",attrid);
        return attributeMapper.selectOne(wrapper);
    }

    @Override
    public Attribute findOne(Integer id, Integer attrId, String attr_sel) {
        QueryWrapper<Attribute> wrapper=new QueryWrapper<>();
        wrapper.eq("cat_id",id);
        wrapper.eq("attr_id",attrId);
        wrapper.eq("attr_sel",attr_sel);

        return attributeMapper.selectOne(wrapper);
    }

    @Override
    public int update(Attribute attribute) {
        return attributeMapper.updateAtt(attribute);
    }

    @Override
    public int updateVals(Attribute attribute) {

        return attributeMapper.updateById(attribute);
    }

//    @Override
//    public int adds(Attribute attribute) {
//        int insert = attributeMapper.adds(attribute);
//        return insert;
//    }


}
